1. TECHNICAL FIELD
This invention generally relates to random access memory systems, and more specifically relates to the use of error-correction code (ECC) on industry standard random access memory modules.
2. BACKGROUND ART
The integrity of computer memory systems is of vital importance in modern computer application. Unfortunately, most memory systems in personal computers, including the widely used industry standard single-inline-memory modules (SIMMs), have only had the capability of writing and checking parity. In such a system, if an odd number of bits of memory is corrupted, the bad parity condition will be flagged. While these systems can detect an odd-parity error, they cannot correct the error and generally the system will shut down when the error is detected. Thus, an error event can cause significant problems to the user, such as the loss of important data and system crashes. Additionally, these systems generally have no ability to detect double or other even number bit errors. Thus, the possibility of errors and their effects remains a serious problem. The probability of these types of errors will increase as the amount of memory in computer systems increases and the size of the software application that uses the memory increases.
Methods and apparatus for overcoming the limitations of standard SIMMs is disclosed in: U.S. Pat. No. 5,379,304, "Method and Structure for Providing Error Correction Code and Parity for Each Byte on SIMM's"; U.S. Pat. No. 5,465,262, "Method and Structure for Providing Error Correction Code and Automatic Parity Sensing"; and U.S. Pat. No. 5,450,422, "Method and Structure for Providing Error Correction Code for Each Byte of SIMM's" (each issued to Dell et al. and assigned to International Business Machines Corp.), which are incorporated herein by reference. These patents disclose a system that provides error correction on memory modules that are compatible with memory sockets used on an industry standard computer system without modification. These systems are commonly referred to as ECC on SIMMs, or EOS memory. The EOS memory modules includes application specific integrated circuits (ASICs) that facilitates error correction of memory errors in a way that is transparent to the system. Thus, the EOS memory module is a plug-compatible, fully retrofittable assembly that adds ECC function to a system that does not have native ECC support.
Because these EOS memory modules are completely compatible with industry standard SIMMs and memory systems, there has been no way to tell whether an EOS memory module or a standard SIMM is installed on the computer without physically looking. Visual identification is time-consuming and prone to errors, and an automated method for detecting whether EOS modules are installed would be preferred.
Thus, the prior art suffers from the inability to electronically detect the presence of EOS memory modules in a computer system. Therefore, what is needed is and easy and inexpensive method for determining if a computer system has EOS or standard SIMMs installed.